1. Field of the Invention
Embodiments of the present invention may relate to a multimedia streaming service. More particularly, embodiments of the present invention may relate to a multimedia streaming service system and method using Transmission Control Protocol (TCP).
2. Background of Related Art
Video on Demand (VOD) is a service in which a multimedia contents file is selectively received from a server according to a user's request and reproduced in a terminal. This may be implemented using a streaming method and a downloading method, for example.
FIG. 1 is a block diagram of a VOD service system according to an example arrangement. Other arrangements are also possible. As shown, the VOD service system includes a VOD server 10, a client 20 and a network 30. The client 20 requests, receives and executes a VOD service. The network 30 connects the VOD server 10 and the client 20 and transmits data and commands between the two entities.
The VOD server 10 may convert a large quantity of multimedia contents file into a digital compression image signal (or file) and store the data in a database 11. The VOD server 10 may provide the multimedia contents file to the client 20 upon request. The VOD server 10 may also perform service operation and management such as billing and monitoring generated as the multimedia contents file is provided.
The client 20 may be a terminal that includes an input unit and a display unit. The client 20 may transmit a request or a command of a user to the VOD server 10. The client 20 may decode and display the multimedia contents file received from the VOD server 10.
The network 30 may support high speed transmission in order to transmit a large quantity of continuous multimedia data between the VOD server 10 and the client 20.
The multimedia contents file may be in MP4 file format, for example, and may be stored in the database 11 of the VOD server 10. FIG. 2 illustrates a format of a MP4 file according to an example arrangement. Other arrangements and formats are also possible. More specifically, FIG. 2 shows the MP4 file divided into a header (moov) and media data (mdat) including audio and video data.
The header (moov) may include information about an audio region and a video region, and meta information for accessing and reproducing the media data (mdat).
Such a VOD service system as described above may provide a service of a streaming method and/or downloading method.
In a streaming method, received multimedia information may be buffered for only a short delay time and then reproduced. In order to guarantee a real time transmission of the multimedia contents, Real-time Transport Protocol (RTP) and User Datagram Protocol (UDP), which is a connectionless protocol, may be used for the transmission.
FIG. 3 illustrates a RTP/UDP stack and an RTP packet according to an example arrangement. Other arrangements are also possible. As shown in FIG. 3, in the streaming method, substantial multimedia data may be RTP-packetized and capsularized to a UDP header and an IP header so as to be transmitted. The RTP packet may be a payload of a UDP, including an RTP header and an RTP payload storing the multimedia data.
The RTP header may include a version (V) of the RTP, an extension (X), a padding (P), a CSRC count (CC), a marker (M) defining a profile, a payload type (PT) defining a type and characteristic of the multimedia data stored in the RTP payload, a sequence number, a time stamp indicating a transmission point, a Synchronization number (SSRC), and a Contribution Source (CSRC). The extension (X) may be used to extend the RTP header information. For example, when the extension (X) is set to “1”, there may be a header extension.
In the streaming method, when the client 20 transmits a request for specific multimedia contents to the VOD server 10, the VOD server 10 may transmit the multimedia contents stored as an MP4 file in the database 11 to the client 20 using RTP/UDP. The multimedia payload expressed as the media data part (mdat) may be RTP-packetized with each media synchronized through a time stamp field, and then transmitted in UDP.
UDP is a protocol commonly used to support multicasting that requires high speed transmission rather than reliability of transmission data. Thus, it may be suitable for transmission of real time multimedia contents. However, since UDP does not have a function for error-correction of transmission data or re-transmission of a packet discarded during transmission, UDP does not generally improve Quality of Service (QoS).
Thus, with the RTP/UDP-based streaming method, the user may receive and check the multimedia contents on a real time basis. However, due to limitations in transmission bandwidths, quality of the multimedia contents transmittable to a receiving party may be limited. Some data may even be lost based on the transmission environment.
In a downloading method, the client 20 may completely download a multimedia contents file from the VOD server 10 and then reproduce the data. Thus, the multimedia contents identical to an original version stored in the VOD server 10 can be reproduced with high picture quality. More specifically, when the client 20 transmits a request for specific multimedia contents to the VOD server 10, the VOD server 10 transmits the corresponding multimedia contents file in a TCP packet(s) to the client 20. The client 20 may receive the TCP packet(s) and store the packet(s) in a storage disk (not shown). After the entire multimedia contents file is downloaded, the client 20 decodes and reproduces the received multimedia contents file.
However, in spite of such advantages that multimedia contents substantially identical to the original version stored in the VOD server is provided with a high picture quality, the downloading method has disadvantages in that the user may wait for a long time to check the contents. Additionally, a large storage space may be required on the client side.
The RTP/UDP-based streaming method may be suitable for real-time service requiring a low delay; however, the QoS is not desirably guaranteed. Meanwhile, the TCP-based downloading methods may guarantee the QoS; however, a long time may be taken in a standby state for reproducing the multimedia contents file, thereby failing to provide real time service.